Tair分布式KV存储架构解读
一、Tair介绍
Tair 是一个由 淘宝(Taobao) 团队开发的分布式缓存系统,类似于 Redis。
1.1 🎯 Tair特性
- 可插拔存储引擎设计:rdb、mdb、ldb、kdb 等这几种存储引擎可以很方便的替换.
- 高性能:多线程架构,性能优于单线程的Redis.
- 支持多种数据模型(类似Redis): todo
- 天然的分布式能力(自动分片):不想redis需要通过复杂配置,以及RedisCluster等组件
- 持久化:支持数据落盘,适合缓存+存储一体
1 | 存储引擎分为 持久化和非持久化两种方式: |
「既然这么优秀,为什么还要用redis?」
1.2 🔎 与 Redis 对比的优势点
特性维度 | Tair | Redis |
---|---|---|
多线程支持 | ✅ 支持多线程并发处理,性能更强 | ❌ 单线程处理,容易成为瓶颈 |
分布式能力 | ✅ 内建自动分片,客户端自动路由 | ❌ 需要 Redis Cluster,配置复杂 |
数据结构扩展 | ✅ 支持扩展结构(如 TairDoc、TairHash) | ❌ 仅支持固定的基础数据结构 |
一致性保障 | ✅ 支持 CAS、强一致性操作 | ❌ 仅部分操作原子性,无强一致性保障 |
高可用机制 | ✅ 主从 + 自动容灾,原生高可用 | ✅ Sentinel 或 Redis Cluster |
持久化能力 | ✅ 支持数据落盘,适合缓存+存储一体 | ✅ 支持 RDB/AOF 持久化 |
运维能力 | ✅ 内建监控、慢查询、热点Key分析等 | ❌ 需额外接入监控方案 |
插件扩展性 | ✅ 支持自定义模块插件 | ❌ 无插件机制 |
1.3 架构
但针对大规模高并发的应用场景进行了优化,尤其适用于电商平台等需要高吞吐量、低延迟的系统。
Tair 基于 Redis 协议,并且进行了性能和功能的扩展,特别适用于 大数据存储、高并发访问、以及大规模分布式部署的场景。
相比于mysql。它有更好的扩展性、更适合高并发场景。 但mysql支持ACID 事务(原子性、一致性、隔离性、持久性),适用于需要保证数据一致性和完整性的应用场景。适合金融、银行等对数据一致性要求高的场景。。
- mysql扩展性相对复杂。
tair适用于高并发场景,数据读取频繁、更新较少的场景。
分为几个层级:
- 架构设计 技术引领 , 举例
- 高级开发
- 初中级开发